package controllers

import (
	"marx/models"

	"github.com/astaxie/beego"
)

type MessageController struct {
	beego.Controller
}

func (this *MessageController) Get() {
	this.TplName = ""
}

// 列出用户的用户信息
func (this *MessageController) List() {
	// ！！！！！！！！！！！！！！！！！！！！！！！！！！
	//实际开发使用cookie，测试注释掉！！！！！！！！！！！！！！！！！！！！！！！！！！
	// ！！！！！！！！！！！！！！！！！！！！！！！！！！
	name, _, flag := checkAccount(this.Ctx)
	if !flag {
		this.Redirect("/login", 302)
		return
	}
	mess, status := models.Listmess(name)

	// 0：查询信息成功
	// 1：查询失败，用户不存在
	// 2：查询失败，系统错误
	var codejson interface{}
	switch status {
	case 0:
		codejson = Message{0, mess, "查询信息成功"}
	case 1:
		codejson = Message{1, nil, "查询失败，用户不存在"}
	case 2:
		codejson = Message{1, nil, "查询失败，系统错误"}
	default:
		codejson = Message{1, nil, "查询失败，严重错误"}
	}
	this.Data["json"] = codejson
	this.ServeJSON()
	this.Redirect("", 302)
	return
}

func (this *MessageController) Delete() {

	name, _, flag := checkAccount(this.Ctx)
	if !flag {
		this.Redirect("/login", 302)
		return
	}
	// name := this.Ctx.GetCookie("name")
	// name := this.Input().Get("name")
	mid := this.Input().Get("mid")
	status := models.Deletemess(name, mid)
	// 1：用户不存在
	// 2：messid参数错误
	// 3：查找的用户信息不存在
	// 4：删除出错
	// 5：没有权限
	var codejson interface{}
	switch status {
	case 0:
		codejson = Message{0, nil, "删除成功"}
	case 1:
		codejson = Message{1, nil, "删除失败，用户不存在"}
	case 2:
		codejson = Message{1, nil, "删除失败，messid参数错误"}
	case 3:
		codejson = Message{1, nil, "删除失败，查找的用户信息不存在"}
	case 4:
		codejson = Message{1, nil, "删除失败，删除出错"}
	case 5:
		codejson = Message{1, nil, "删除失败，没有权限"}
	}
	this.Data["json"] = codejson
	this.ServeJSON()
	this.Redirect("", 302)
	return
}
